![CloudFrontのオリジン名を変更してみた](https://devio2023-media.developers.io/wp-content/uploads/2023/08/amazon-cloudfront.png)
CloudFrontのオリジン名を変更してみた
こんにちは、岩城です。
CloudFrontのオリジン名を変更する機会がありましたので共有します。
オリジン名とオリジンドメインが一致するように管理している環境でしたが、オリジンを設定した後にオリジン名とオリジンドメインが一致していないことに気付きました。
変更方法を調べて初めて知ったのですが、オリジン名をマネジメントコンソールから変更することはできません。
本エントリでは、CLIを使って変更してみます。
やってみた
CloudShellを使って変更していきます。
最終的には以下のコマンドを使用して、ディストリビューションコンフィグ上のオリジン名を変更して読み込ませます。
$ aws cloudfront update-distribution --id <ディストリビューションID> --distribution-config file://<JSONで定義されたディストリビューションコンフィグのファイルパス> --if-match <ETag>
ディストリビューションコンフィグが必要となるので、以下のコマンドで取得し、適当なファイル名で保存しておきます。
$ aws cloudfront get-distribution-config --id E1PMXF0FVADVQS --query 'DistributionConfig' > distribution.conf
ディストリビューションコンフィグ内のId
とTargetOriginId
をiwaki-alb-951445672.ap-northeast-1.elb.amazonaws.com
から、
$ grep "iwaki-alb-951445672.ap-northeast-1.elb.amazonaws.com" distribution.conf "Id": "iwaki-alb-951445672.ap-northeast-1.elb.amazonaws.com", "TargetOriginId": "iwaki-alb-951445672.ap-northeast-1.elb.amazonaws.com",
オリジンドメインであるorigin-alb-951445672.ap-northeast-1.elb.amazonaws.com
に変更します。
$ sed -i 's/iwaki-alb-951445672.ap-northeast-1.elb.amazonaws.com/origin-alb-951445672.ap-northeast-1.elb.amazonaws.com/g' distribution.conf
この場合、Id
TargetOriginId
DomainName
が一緒であれば良いです。
$ grep "origin-alb-951445672.ap-northeast-1.elb.amazonaws.com" distribution.conf "Id": "origin-alb-951445672.ap-northeast-1.elb.amazonaws.com", "DomainName": "origin-alb-951445672.ap-northeast-1.elb.amazonaws.com", "TargetOriginId": "origin-alb-951445672.ap-northeast-1.elb.amazonaws.com",
次に、以下コマンドで変更するディストリビューションのETag
を確認しておきます。
$ aws cloudfront get-distribution-config --id E1PMXF0FVADVQS --query 'ETag' "E2B0J3MU5WMGRO"
以上で準備が整いましたので、以下コマンドでオリジン名を変更します。
$ aws cloudfront update-distribution --id E1PMXF0FVADVQS --distribution-config file://distribution.conf --if-match E12RT4B4EIIRE1
オリジン名が変更され、オリジン名がオリジンドメインと一致しました。
おわりに
本エントリが、どなたかのお役に立てれば幸いです。